package cn.stylefeng.guns.modular.task.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.task.entity.TaskDetailed;
import cn.stylefeng.guns.modular.task.model.params.TaskDetailedParam;
import cn.stylefeng.guns.modular.task.model.result.TaskDetailedResult;

/**
 * <p>
 * 作业明细表 服务类
 * </p>
 *
 * @author zhucx
 * @since 2021-06-08
 */
public interface TaskDetailedService extends IService<TaskDetailed> {

    /**
     * 新增
     *
     * @author zhucx
     * @Date 2021-06-08
     */
    void add(TaskDetailedParam param);

    /**
     * 删除
     *
     * @author zhucx
     * @Date 2021-06-08
     */
    void delete(TaskDetailedParam param);

    /**
     * 更新
     *
     * @author zhucx
     * @Date 2021-06-08
     */
    void update(TaskDetailedParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author zhucx
     * @Date 2021-06-08
     */
    TaskDetailedResult findBySpec(TaskDetailedParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author zhucx
     * @Date 2021-06-08
     */
    List<TaskDetailedResult> findListBySpec(TaskDetailedParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author zhucx
     * @Date 2021-06-08
     */
     LayuiPageInfo findPageBySpec(TaskDetailedParam param,String condition);

 	LayuiPageInfo findSumPageBySpec(TaskDetailedParam taskDetailedParam, String condition);

	LayuiPageInfo findPageBySpecApplets(TaskDetailedParam param, String condition);

	List<TaskDetailedResult> findSumListBySpec(TaskDetailedParam param);

	LayuiPageInfo findworkerReportListPageBySpec(TaskDetailedParam taskDetailedParam, String condition,Long operateId,Long outCustomerId,String taskWork,String v8,String carModel,Long operateId2);

	List<cn.stylefeng.guns.modular.task.model.result.grRtaskSummaryList> grRtaskSummaryList(TaskDetailedParam param, String condition, Long operateId,
			Long outCustomerId, String taskWork,String v8, String carModel,Long operateId2);

	List<cn.stylefeng.guns.modular.task.model.result.grRtaskSummaryList> grRtaskSumList(
			TaskDetailedParam param, String condition, Long operateId, Long outCustomerId, String taskWork,
			String v8, String carModel,Long operateId2);

	List<TaskDetailedResult> findSumtaskRankingBySpec(TaskDetailedParam param);
	List<TaskDetailedResult> findSumtaskRankingBySpec2(TaskDetailedParam param);

	boolean checkmetaskRanking(TaskDetailedParam param);

	TaskDetailedResult findBySpecZuoYeZhong(TaskDetailedParam taskDetailedParam);

	List<TaskDetailedResult> sumGongrenMonth(TaskDetailedParam taskDetailedParam);

	TaskDetailedResult sumPeoples(TaskDetailedParam taskDetailedParam, Integer operateId);

	List<TaskDetailedResult> findlimit9task(TaskDetailedParam taskDetailedParam);

	LayuiPageInfo findworkerReportListJxPageBySpec(TaskDetailedParam taskDetailedParam, String condition,
			Long operateId, Long outCustomerId, String taskWork, String v8, String carModel,Long operateId2);

}
